#include <iostream>
#include <regex>
#include <string>
using namespace std;

int main() {
    cout << "Введите ваши слова:" << endl;
    string N;
    cin >> N;

    int b = 1;
    int a = 0;
    for (char i : N) {
        if (i == ' ') {
            b++;
        }
        if (isupper(i)) {
            a++;
        }
    }

    int count1 = 0;
    int e = 0;
    int m = 0;
    for (char i : N) {
        if (i == '-') {
            e++;
        }
        if (islower(i)) {
            m++;
        }
    }

    vector<string> spisok;
    size_t pos = 0;
    while ((pos = N.find(' ', pos)) != string::npos) {
        spisok.push_back(N.substr(0, pos));
        N.erase(0, pos + 1);
    }

    string t;
    for (const string& word : spisok) {
        if (word.size() > t.size()) {
            t = word;
        }
    }

    cout << "Самое длинное слово: " << t << endl;
    cout << "Длинна этого слова: " << t.size() << endl;

    for (const string& word : spisok) {
        regex reg("[а-яА-Я]");
        if (regex_search(word, reg)) {
            if (isupper(word[0])) {
                cout << word << endl;
            }
        }

        if (word.length() <= 3) {
            count1++;
        }
    }

    cout << "Количество слов не превышающих 3 символа: " << count1 << endl;
    cout << "Количество слов с заглавной кириллической буквой: " << a << endl;
    cout << "Кол-во слов с дефисом: " << e << endl;
    cout << "Славяне: " << m << endl;
    cout << "Количество слов: " << b << endl;

    if (b <= 1) {
        cout << "мало данных" << endl;
    }

    return 0;
}